<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button>按钮</button>
    <script>
        // var data = [
        //     {
        //         id: 1,
        //         name: '小明',
        //         age: 24,
        //         gender: '男'
        //     },
        //     {
        //         id: 2,
        //         name: '小芳',
        //         age: 30,
        //         gender: '女'
        //     },
        //     {
        //         id: 3,
        //         name: '小美',
        //         age: 31,
        //         gender: '女'
        //     },
        //     {
        //         id: 4,
        //         name: '小刚',
        //         age: 21,
        //         gender: '男'
        //     },
        //     {
        //         id: 5,
        //         name: '小琪',
        //         age: 18,
        //         gender: '女'
        //     }
        // ];
        // 筛选30岁以下女生
        // let res = data.filter(function(item) {
        //     return item.age < 30 && item.gender == "女"
        // })
        // console.log(res)
        // let res = data.filter(item => item.age < 30 && item.gender == '女')
        // console.log(res)

        // 箭头函数的特性
        // 1.没有arguments
        // 2.不能作为构造函数
        // 3.箭头函数没有this绑定，它的this指向上一级执行上下文的this

        // let btn = document.querySelector('button')
        // btn.onclick = ()=> {
        //     setTimeout(()=>{
        //         var obj = {
        //             name: '卡莎',
        //             fn: ()=>console.log(this)
                    
        //         }
        //         obj.fn()
        //     }, 200)
        // }

        
        // 函数的默认参数
        // ES5默认参数
        // function fn(a, b) {
        //     var a = a || 1
        //     var b = b || 2
        //     console.log(a, b)
        // }
        // fn()

        // ES6默认参数
        // function fn(a=1, b=1) {
        //     console.log(a, b)
        // }
        // fn()

        // 短路运算符
        // function fn(cb) {
        //     cb && cb()
        // }
        // fn(function() {
        //     console.log(111)
        // })
        // fn()

        // 如果最后一个参数是 函数 那么就执行这个函数 ，如果不是函数就不执行
        function fn1() {
            let arg = arguments[arguments.length - 1]
            if (typeof arg === 'function') {
                arg()
            }
        }
        fn1(1, 2 ,function() {
            console.log(111)
        })



    </script>
</body>
</html>